12926
2094
Eu gostaria de exibir itens pertencentes a diferentes clientes. Para esse efeito, estou buscando dados por meio de uma chamada ajax e, portanto, agrupando os dados com base em cada cliente exclusivo. Em seguida, acrescento os dados agrupados ao meu html.
A estrutura dos meus dados agrupados é semelhante a:
"John Doe": [
{
"Item_id": 1
"Item_name": "abc"
},
{
"Item_id": 2
"Item_name": "def"
},
],
"Jane Doe":
{
"Item_id": 3
"Item_name": "ghi"
},
{
"Item_id": 4
"Item_name": "jkl"
},
]
Meu código se parece com:
$ .each (groupedData, function (key, value) {
$ ('. cust_items'). append (`

`+ tecla +`

Nº do item Nome do item
`); $ .each (valor, função (ky, val) { $ ('# dataTable tbody'). append ( ` `+ ky +` `+ val.Item_name +` `); }); }); Estou enfrentando uma situação em que todos os itens estão sendo exibidos no primeiro cliente, enquanto os dados estão sendo exibidos corretamente no segundo cliente.
Estão faltando vírgulas após as propriedades e os objetos da propriedade Jane Doe não estão entre []. Considere alterar seu objeto groupedData, pois a sintaxe não está correta.
Editar: Também ajustou a string do template e acessou a tabela com id dinâmico.
Amostra:
let groupedData = {
"John Doe": [{
"Item_id": 1,
"Item_name": "abc"
},
{
"Item_id": 2,
"Item_name": "def"
}
],
"Jane Doe": [{
"Item_id": 3,
"Item_name": "ghi"
},
{
"Item_id": 4,
"Item_name": "jkl"
}
]
};
$ .each (groupedData, function (key, value) {
$ ('. cust_items'). append (`

$ {key}

Nº do item Nome do item
`); $ .each (valor, função (ky, val) { $ (`#dataTable _ $ {key.split ('') .join ('_')} tbody`) .append ( ` $ {ky} $ {val.Item_name} `); }); });
| Estou um pouco atrasado para a festa, mas aqui está uma maneira divertida e prática de exibir seus dados dinamicamente usando o elemento